/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Models;

import EntitiesTier.ClContratado;
import java.util.Arrays;
import java.util.List;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author Douglas
 */
public class ContratadoTableModel extends AbstractTableModel
{
    List<ClContratado> codo;
    private List<String> colunas;
    //private ContratadoBUS bus;
    
    public ContratadoTableModel(List<ClContratado> codo) throws Exception
    {

        this.codo = codo;
       colunas = Arrays.asList("Cod.", "Tipo", "Nome", "Razão", "Endereço", "Número", "CEP", "Cod. IBGE", 
    "Telefone", "Contato", "Email", "Responsavel", "RG Responsavel", "CPF Responsavel", "CNPJ", "IE");
    }

    @Override
    public String getColumnName(int column) {
        return colunas.get(column);
    }

    @Override
    public Object getValueAt(int lin, int col)
    {
        ClContratado contratado = codo.get(lin);
        switch(col)
        {
            case 0 : return new Integer(contratado.getCODO_COD());
            case 1 : if (contratado.getCODO_TIPO() == 0) {return "Físico";} else {return "Jurídico";}
            case 2 : return contratado.getCODO_NOME();
            case 3 : return contratado.getCODO_RAZAO();
            case 4 : return contratado.getCODO_ENDERECO();
            case 5 : return contratado.getCODO_NUM();
            case 6 : return contratado.getCODO_CEP();
            case 7 : return contratado.getCODO_IBGE();
            case 8 : return contratado.getCODO_TELEFONE();
            case 9 : return contratado.getCODO_CONTATO();
            case 10 : return contratado.getCODO_EMAIL();
            case 11 : return contratado.getCODO_RESPONSAVEL();
            case 12 : return contratado.getCODO_RGRESPONSAVEL();
            case 13 : return contratado.getCODO_CPFRESPONSAVEL();
            case 14 : return contratado.getCODO_CNPJ();
            case 15 : return contratado.getCODO_IE();
            default : return "";
        }
    }

    @Override
    public int getRowCount() {
        return codo.size();
    }

    @Override
    public int getColumnCount() {
        return 16;
    }
    
    @Override
    public Class<?> getColumnClass(int columnIndex) {
        switch (columnIndex) 
        {
            case 0: return Integer.class;
            case 1: return String.class;
            case 2: return String.class;
            case 3: return String.class;
            case 4: return String.class;
            case 5: return String.class;
            case 6: return String.class;
            case 7: return String.class;
            case 8: return String.class;
            case 9: return String.class;
            case 10: return String.class;
            case 11: return String.class;
            case 12: return String.class;
            case 13: return String.class;
            case 14: return String.class;  
            case 15: return String.class;          
            default: throw new IndexOutOfBoundsException("columnIndex out of bounds");
        }
    }

    
}
